#include<iostream>
#include<set>
//#include<initializer_list>

using namespace std;



//int main()
//{
//set<int> a = {1,2,3,4,5,6,7,8,9};
//set<int> b = {a.begin(),a.end()};
//
//
//
//auto it1 = b.lower_bound(2);
//auto it2 = b.upper_bound(6);
//
//set<int> c = { it1,it2 };
//
//   for (int x : c)
//  {
//	cout << x << " ";
//   }
//
//	return 0;
//}


//int main()
//{
//	set<int,greater<int>> a = { 1,2,10,32,4,5,3,7,8,9 };
//
//
//	for (int x : a)
//	{
//		cout << x << " ";
//	}
//
//	return 0;
//}


//template<class T>
//struct Greater
//{
//	bool operator()(const T& x1,const T& x2)
//	{
//		return x1 > x2;
//	}
//};
//
//int main()
//{
//	//set<int, Greater<int>> a = { 1,2,10,32,4,5,3,7,8,9 };
//	set<int> a = { 1,2,10,32,4,5,3,7,8,9 };
//
//
//	for (int x : a)
//	{
//		cout << x << " ";
//	}
//
//	return 0;
//}


int main()
{
	multiset<int> a = { 1,1,2,2,3,3,4,5 };
		for (int x : a)
	{
		cout << x << " ";
	}

	return 0;
}